import Vue from 'vue';
import VueRouter from 'vue-router';

//导入需要的组件
import Login from '../pages/Login/Login'
import index from '../com/components/index'
import book from '../pages/book/book'
import book_list from '../pages/book/book_list'
import supplier from '../pages/supplierAllBack'
import userhome from '../pages/User/userhome'

import user_gwc from '../pages/User/gouwuche'
import pay from '../pages/User/paytype'
import dingdan_book from '../pages/User/dindan_book'

import user_neirong from '../pages/User/user_neirong'
import dingdan from '../pages/User/dingdan'
import dindan_xq from '../pages/User/dindan_xq'
import shezhi from '../pages/User/shezhi'
import user_dindan from '../pages/User/user_dindan'
import user_geren from '../pages/User/user_geren'
import user_dizhi from '../pages/User/user_dizhi'



Vue.use(VueRouter)

const routes = new VueRouter({

  routes: [
    //重定向路由
    {
      path: '/',
      redirect: '/index'
    },
    //登录的路由
    {
      path: '/login',
      component: Login
    },
    {
      path: '/index',
      component: index
    },
    //图书详情页
    {
      path: '/book',
      component: book
    },

    //分类图书列表 
    {
      path: '/book_list',
      component: book_list,

    },
    //空白跳转页面
    {
      path: '/supplier',
      component: supplier
    },
    //个人中心页面
    {
      path: '/userhome',
      component: userhome,

      meta: {
        requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
      },
      children: [{
          path: '',
          component: user_neirong,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },
        {
          path: 'user_neirong',
          component: user_neirong,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },

        {
          path: 'dindan_xq',
          component: dindan_xq,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },
        {
          path: 'shezhi',
          component: shezhi,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },
        {
          path: 'user_dindan',
          component: user_dindan,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },
        //资料设置页面
        {
          path: 'user_geren',
          component: user_geren,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },
        //收货地址页面
        {
          path: 'user_dizhi',
          component: user_dizhi,
          meta: {
            requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
          },
        },
      ]
    },
    //选择支付方式页面
    {
      path: '/pay',
      component: pay,
      meta: {
        requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
      },
    },
    //购物车页面
    {
      path: '/user_gwc',
      component: user_gwc,
      meta: {
        requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
      },
    },

    //生成订单页面

    {
      path: '/dingdan',
      component: dingdan,
      meta: {
        requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
      },
    },
    //立即购买订单页面
    {
      path: '/dingdan_book',
      component: dingdan_book,
      meta: {
        requireAuth: true, // 添加该字段，表示进入这个路由是需要登录的
      },
    },

    //后台管理员主页面
  
  ],
  // scrollBehavior(to, from, saveTop) {
  //   if (saveTop) {
  //     return saveTop;
  //   } else {
  //     return {
  //       x: 0,
  //       y: 0
  //     }
  //   }
  // },

});
routes.beforeEach((to, from, next) => {
  if (to.meta.requireAuth) { // 判断该路由是否需要登录权限
    if (localStorage.getItem("token")) { // 通过vuex state获取当前的token是否存在
      next();
    } else {
      next({
        path: '/login',
        query: {
          redirect: to.fullPath
        } // 将跳转的路由path作为参数，登录成功后跳转到该路由
      })
    }
  } else {
    next();
  }
})

export default routes